<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
   <meta name="GENERATOR" content="Mozilla/4.76 [en] (Windows NT 5.0; U) [Netscape]">
   <title>Eclipse Tools - GEF Project</title>
<link rel="stylesheet" href="http://dev.eclipse.org/default_style.css"
 type="text/css">
<link rel="stylesheet" href="gef.css"
 type="text/css">
</head>
<body>
<p> <img
 src="images/gefbanner.jpg?cvsroot=Tools_Project" border="0"><br>
<font class=indexsub>Project Overview</font></p>

<table class="document">
<tr>
<td class="minor">What is GEF?</td>
</tr>

<tr>

<td>
<p dir="ltr">The Graphical Editing Framework (GEF) allows developers
to create a rich graphical editor from an existing application model. GEF 
consists of 2 plug-ins. The <b>org.eclipse.draw2d</b> plug-in provides a layout 
and rendering toolkit for displaying graphics.
The developer can then take advantage of the many common operations provided
in GEF and/or extend them for the specific domain. GEF employs an MVC (model-view-controller) architecture 
which enables simple changes to be applied to the model from the view.</p>
<p dir="ltr">GEF is completely application neutral and provides the groundwork to build almost any application, 
including but not limited to: activity diagrams, GUI
builders, class diagram editors,
state machines, and even WYSIWYG text editors. The Logic Example, one of the 
provided examples, is pictured below.<p><img src="images/LogicExample.jpg?cvsroot=Tools_Project">
<br></td>
</tr>

<tr>
<td class="minor">What's Happening</td>
</tr>

<tr>
<td>
<P class="arrow"><img src="images/Adarrow.gif"/> R3.2 Development</P><ul>
	<li>New work goes into this stream</li>
	<li><a href="plan/gef_plan_3_2.html">3.2 draft plan</a></li>
</ul>
<P class="arrow"><img src="images/Adarrow.gif"/> R3.1 Development</P><ul>
	<li>Maintenance items go into this stream</li>
	<li><a href="plan/gef_plan_3_1.html">3.1 development plan (Final)</a></li>
	<li>
	<a href="http://download.eclipse.org/tools/gef/downloads/drops/R-3.1-200507071758/index.php">
	Release 3.1</a></li>
</ul>
<P class="arrow"><img src="images/Adarrow.gif"/> R3.0 Maintenance</P><ul>
	<li>
	<p dir="ltr">Not active</li>
	<li>
	<a href="http://download.eclipse.org/tools/gef/downloads/drops/R-3.0.1-200408311615/index.php">
	Release 3.0.1</a></li>
	<li>
	<a href="http://download.eclipse.org/tools/gef/downloads/drops/R-3.0-200406251257/index.php">
	Release 3.0.0</a></li>
</ul>
</tr>

<tr>
<td class="minor">Get Involved</td>
</tr>

<tr>
<td>If you are interested in participating in the development of GEF, check out 
the developer's mailing list: <a href="mailto:gef-dev@eclipse.org">
gef-dev@eclipse.org</a>.&nbsp; Chat with people there about your problems and 
interests, and find out what you can do to help.</td>
</tr>

<tr>
<td class="minor">Features</td>
</tr>

<tr>
<td><b>org.eclipse.draw2d</b><ul>
<li>
Efficient layout and rendering support</li>

<li>
Various figure and layout implementations</li>

<li>Borders</li>
<li>Cursors and Tooltip support</li>
<li>Connection anchoring, routing, and decorating</li>
<li>Multiple, transparent layers</li>
<li>Flexible coordinate systems</li>
<li>Overview window (thumbnail with scrolling)</li>
<li>Printing</li>
</ul>
<p><b>org.eclipse.gef</b></p>
<ul>
<li>
Tools like Selection, Creation, Connection and Marquee tools&nbsp;</li>

<li>
A Palette for displaying those tools&nbsp;</li>

<li>
Handles for resizing objects and bending connections&nbsp;</li>

<li>
Two types of GEF Viewers (Graphical and Tree)&nbsp;</li>

<li>
A Controller framework for mapping the business Model to a View&nbsp;</li>

<ul>
<li>
Plug-in policies for mapping interactions with the view to changes in the
model&nbsp;</li>

<li>
Various implementations for showing feedback and adding selection handles&nbsp;</li>

<li>
Various request types and tools or actions that send these requests to
the controllers&nbsp;</li>
</ul>

<li>
Undo/Redo support via Commands and a CommandStack</li>
</ul>
</td>
</tr>


<tr>
<td class="minor">
Plug-ins</td>
</tr>
<tr>
	<td><br>
	<b>Runtime plug-ins</b><ul>
<li>org.eclipse.draw2d - The Draw2d plug-in</li>
<li>org.eclipse.gef - The GEF plug-in (requires Draw2d)</li>
</ul>
	<p><b>ISV and example plug-ins</b></p>
	<ul>
<li>org.eclipse.draw2d.doc.isv - ISV integrated Help</li>
<li>org.eclipse.gef.doc.isv - ISV integrated Help</li>
<li>org.eclipse.gef.examples.shapes - The &quot;Hello World&quot; example editor.</li>
<li>
<p dir="ltr">org.eclipse.gef.examples.logic - Example editor showing nested containers, connections 
with custom anchor points, and multiple routing methods.</li> 
<li>
<p dir="ltr">org.eclipse.gef.examples.flow - Example editor demonstrating the 
compound directed graph algorithm used to layout activity diagrams.</li>
<li>
<p dir="ltr">org.eclipse.gef.examples.text - Example editor demonstrating 
editing of &quot;rich&quot; text.</li>
<li>
<p dir="ltr">org.eclipse.gef.examples.ediagram - Example editor using EMF to 
provide a split &quot;business&quot; and &quot;view&quot; model.</li>
</ul>
	</tr>
</tr>


</table>

</body>
</html>